package com.xdap.common.util;

import com.xdap.motor.utils.StringUtils;

import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;

public class ComStrUtil {


    public static String getData(String data) {
        if (StringUtils.isBlank(data)) {
            return null;
        } else if (data.startsWith("[\"") && data.endsWith("\"]")) {
            String str = data.replace("[\"", "").replace("\"]", "");
            return str;
        }
        return data;
    }

    public static boolean getCompareDicData(String dicData, String comData) {

        // 在两个值都可能为空的情况下
        if (StringUtils.isBlank(dicData) || StringUtils.isBlank(comData)) {
            // 两个值都是空返回true，其他返回false
            if (StringUtils.isBlank(dicData) && StringUtils.isBlank(comData)) {
                return true;
            } else {
                return false;
            }

        }
        // 数据去除中括号
        String str = dicData;
        if (dicData.startsWith("[\"") && dicData.endsWith("\"]")) {
            str = dicData.replace("[\"", "").replace("\"]", "");
        }

        return str.equals(comData);
    }


    public static String addData(String departmentId) {
        if (StringUtils.isBlank(departmentId)) {
            return null;
        }
        departmentId = "[\"" + departmentId + "\"]";
        return departmentId;
    }

    /**
     * @Description 对象转map
     * @Date 2023/11/20 13:44
     * @Author shangsheng.li
     **/
    public static <T> Map<String, Object> toMap(T object) {
        Map<String, Object> map = new HashMap<>();
        Field[] fields = object.getClass().getDeclaredFields();
        for (Field field : fields) {
            field.setAccessible(true);
            try {
                map.put(field.getName(), field.get(object));
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            }
        }
        return map;
    }
}
